xpay: don't MPP if we're told not to#8059
Merged
rustyrussell merged 10 commits intoElementsProject:masterfrom Feb 14, 2025
Merged
xpay: don't MPP if we're told not to#8059rustyrussell merged 10 commits intoElementsProject:masterfrom
rustyrussell merged 10 commits intoElementsProject:masterfrom
Conversation
Lagrang3
reviewed
Feb 7, 2025
contrib/msggen/msggen/schema.json
Outdated
| "Layers are generally maintained by plugins, either to contain persistent information about capacities which have been discovered, or to contain transient information for this particular payment (such as blinded paths or routehints).", | ||
| "", | ||
| "There are two automatic layers: *auto.localchans* contains information on local channels from this node (including non-public ones), and their exact current spendable capacities, and *auto.sourcefree* overrides all channels (including those from previous layers) leading out of the *source* to be zero fee and zero delay. These are both useful in the case where the source is the current node." | ||
| "There are trehee automatic layers: *auto.localchans* contains information on local channels from this node (including non-public ones), and their exact current spendable capacities. *auto.sourcefree* overrides all channels (including those from previous layers) leading out of the *source* to be zero fee and zero delay. These are both useful in the case where the source is the current node. And *auto.no_mpp_support* forces getroutes to return a single flow, though only basic checks are done that the result is useful." |
Lagrang3
approved these changes
Feb 7, 2025
Collaborator
Lagrang3
left a comment
There was a problem hiding this comment.
Nice fix.
I thought we could have some algorithm selection in askrene, so the single path payment would correspond to some specific algorithm specifically aimed at single
paths. But it would have taken some more time to write.
0d2b5f0 to
3c84972
Compare
Collaborator
|
|
3c84972 to
dbd51af
Compare
Contributor
Author
Ah, we can't use payment_log there, since unique_id is not assigned yet! I moved it to later... |
dbd51af to
692e2b9
Compare
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This is an inefficient hack. Can you tell I really didn't want to implement this? MPP was finalized in 2018 FFS. We do this by adding another "auto" layer, which removes all too-small channels, and then makes our MPP node pile all the funds into the largest channel it chooses. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This is deeply annoying, and we may have to support this properly (using a separate algorithm entirely) if other implementations don't fix their crap. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Fixed: Plugins: xpay: suppress multi-part payment if invoice doesn't allow it (please, fix your nodes!)
We ignored the second one, but still it's unnecessary. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…icitly says so. We don't want to enable this yet, since we only just fixed CLN this release! Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Turns out we weren't wiring them through! And libplugin wasn't reading them anyway. Changelog-Fixed: lightningd: tell plugins our bolt12 features (so our bolt12 invoices explicitly allow MPP). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
It wasn't documented, and hopefully nobody was using it. Changelog-Fixed: `decode` for bolt12 invoices "features" field renamed to "invoice_features" (as documentation said) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
692e2b9 to
2710431
Compare
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes: #8042
Apparently Muun.
We can't (yet) honor this for bolt12, because we didn't set the MPP feature until this PR.